home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
sos3-2.lha
/
include
/
knl_sos.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-10-29
|
8KB
|
180 lines
#ifndef knl_SOSI
#define knl_SOSI 1
#include "knl_use.h"
class _sos_Object;
class _sos_Ordered_object;
class _sos_Scalar_object;
class _sos_String;
class _sos_Named;
class _sos_Type;
class _sos_Object
{ friend class sos_Object;
virtual sos_Offset _offset_sos_Object () { return 0; }
public:
static _sos_Object* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Object);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
virtual sos_Int hash_value(sos_Typed_id&);
virtual sos_Type type(sos_Typed_id&);
virtual sos_Bool has_type(sos_Typed_id&,sos_Type _p1);
virtual sos_Bool isa(sos_Typed_id&,sos_Type _p1);
virtual sos_Bool is_some(sos_Typed_id&,sos_Type _p1);
virtual sos_Bool is_value(sos_Typed_id&);
virtual sos_Int size(sos_Typed_id&);
virtual sos_Bool identical(sos_Typed_id&,sos_Object _p1);
virtual sos_Bool __equal(sos_Typed_id&,sos_Object _p1);
virtual sos_Bool __not_equal(sos_Typed_id&,sos_Object _p1);
virtual sos_Bool like(sos_Typed_id&,sos_Object _p1);
virtual sos_Comp_result compare_ids(sos_Typed_id&,sos_Object _p1);
private:
virtual sos_Id get_type_id(sos_Typed_id&);
virtual void set_type_id(sos_Typed_id&,sos_Id);
public:
protected:
static void local_assign(sos_Object _p1,sos_Object _p2);
static sos_Bool local_equal(sos_Object _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int local_hash_value(sos_Object _p1);
};
extern _sos_Object *__sos_Object_obj;
class _sos_Ordered_object:virtual public _sos_Object
{ friend class sos_Ordered_object;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Ordered_object () { return 8; }
public:
static _sos_Ordered_object* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Ordered_object);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Ordered_object,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Ordered_object,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Ordered_object);
virtual sos_Comp_result compare(sos_Typed_id&,sos_Ordered_object _p1);
virtual sos_Bool __less(sos_Typed_id&,sos_Ordered_object _p1);
virtual sos_Bool __less_equal(sos_Typed_id&,sos_Ordered_object _p1);
virtual sos_Bool __greater(sos_Typed_id&,sos_Ordered_object _p1);
virtual sos_Bool __greater_equal(sos_Typed_id&,sos_Ordered_object _p1);
protected:
};
extern _sos_Ordered_object *__sos_Ordered_object_obj;
class _sos_Scalar_object:virtual public _sos_Object
{ friend class sos_Scalar_object;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Scalar_object () { return 8; }
public:
static _sos_Scalar_object* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Scalar_object);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
virtual sos_Int hash_value(sos_Typed_id&);
protected:
static void local_initialize(sos_Scalar_object _p1);
static void local_finalize(sos_Scalar_object _p1);
static void local_assign(sos_Scalar_object _p1,sos_Object _p2);
static sos_Bool local_equal(sos_Scalar_object _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int local_hash_value(sos_Scalar_object _p1);
};
extern _sos_Scalar_object *__sos_Scalar_object_obj;
class _sos_String:virtual public _sos_Ordered_object
{ friend class sos_String;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Ordered_object () { return 8; }
virtual sos_Offset _offset_sos_String () { return 8; }
public:
static _sos_String* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_String);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
virtual sos_Int hash_value(sos_Typed_id&);
virtual sos_Cstring make_Cstring(sos_Typed_id&);
virtual void assign_Cstring(sos_Typed_id&,sos_Cstring _p1);
virtual void __plus_assign(sos_Typed_id&,sos_String _p1);
virtual sos_Int size(sos_Typed_id&);
virtual sos_Comp_result compare(sos_Typed_id&,sos_Ordered_object _p1);
virtual sos_Int get_length(sos_Typed_id&);
private:
virtual void set_length(sos_Typed_id&,sos_Int);
virtual sos_Offset get_address(sos_Typed_id&);
virtual void set_address(sos_Typed_id&,sos_Offset);
public:
protected:
static void local_initialize(sos_String _p1);
static void local_finalize(sos_String _p1);
static void local_assign(sos_String _p1,sos_Object _p2);
static sos_Bool local_equal(sos_String _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int local_hash_value(sos_String _p1);
};
extern _sos_String *__sos_String_obj;
class _sos_Named:virtual public _sos_Object
{ friend class sos_Named;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
public:
static _sos_Named* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Named);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Named,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Named,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Named);
virtual sos_String get_name(sos_Typed_id&);
virtual void set_name(sos_Typed_id&,sos_String _p1);
protected:
};
extern _sos_Named *__sos_Named_obj;
class _sos_Type:virtual public _sos_Named
{ friend class sos_Type;
virtual sos_Offset _offset_sos_Object () { return 0; }
virtual sos_Offset _offset_sos_Named () { return 8; }
virtual sos_Offset _offset_sos_Type () { return 8; }
public:
static _sos_Type* _make(sos_Typed_id&);
virtual sos_Offset _size();
void _create(sos_Typed_id&);
void _copy(sos_Typed_id&,sos_Type);
virtual sos_Object _clone(sos_Typed_id&,sos_Container);
virtual void destroy(sos_Typed_id&);
virtual void assign(sos_Typed_id&,sos_Object);
static void local_assign(sos_Type,sos_Object);
virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
static sos_Bool local_equal(sos_Type,sos_Object,sos_Eq_kind);
virtual sos_Int hash_value(sos_Typed_id&);
static sos_Int local_hash_value(sos_Type);
virtual sos_Bool is_derived_from(sos_Typed_id&,sos_Type _p1);
virtual sos_Bool is_derived_from_some(sos_Typed_id&,sos_Type _p1);
virtual sos_Bool is_scalar(sos_Typed_id&);
virtual sos_Type base(sos_Typed_id&);
virtual sos_Type root(sos_Typed_id&);
virtual sos_String get_name(sos_Typed_id&);
virtual void set_name(sos_Typed_id&,sos_String);
virtual sos_Int get_object_size(sos_Typed_id&);
virtual void set_object_size(sos_Typed_id&,sos_Int);
protected:
};
extern _sos_Type *__sos_Type_obj;
extern void _knl_init_sos();
#endif